package com.zyf.chapter02.behavior.visitor.v1;

import java.util.ArrayList;
import java.util.List;

/**
 * 需求：现在有三种格式的文件：PDF、PPT、Word，需要开发一个工具来处理这批资源文件。<br/>
 * 功能点：把资源中的文本内容抽取出来放到 txt 文件中。
 * @author yifeng
 */
public class ToolApplication {
    public static void main(String[] args) {
        List<ResourceFile> resourceFiles = listAllResourceFiles(args[0]);
        for (ResourceFile resourceFile : resourceFiles) {
            resourceFile.extract2txt();
        }
    }

    private static List<ResourceFile> listAllResourceFiles(String resourceDirectory) {
        ArrayList<ResourceFile> resourceFiles = new ArrayList<>();
        // ... 根据后缀（pdf/ppt/word）由工厂方法创建不同的类对象（PdfFile/PPTFile/WordFile）
        resourceFiles.add(new PDFFile("a.pdf"));
        resourceFiles.add(new WordFile("a.word"));
        resourceFiles.add(new PPTFile("a.ppt"));
        return resourceFiles;
    }
}
